﻿using System;

namespace cuiail.DBModels
{
    public class cloudmodes
    {
        public string _工单号 { get; set; }
        public string _产品类型 { get; set; }
        public Dictionary<string, string> _产品编号表 { get; set; }
        public List<string> _额外信息 { get; set; }
    }

    public class _云平台POS_工单
    {
        public cloudmodes _下发工单 { get; set; }

    }
    public class _云平台POS_模式
    {
        /// <summary>
        /// 当前工作模式表主键
        /// </summary>
        public int CurrentWorkModeID { get; set; }
        /// <summary>
        /// 当前工作模式ID，外键关联WorkingMode表
        /// </summary>
        public int WorkingModeId { get; set; }
        /// <summary>
        /// 当前工作模式名称，来自WorkingMode表
        /// </summary>
        public string? WorkingModeName { get; set; }
        /// <summary>
        /// 写入时间
        /// </summary>
        public DateTime? InsertTime { get; set; }
    }
    /// <summary>
    ///云平台下发运行命令
    ///
    public class _云平台POS_命令
    {
        public DeviceRunCommand _系统命令 { get; set; }
        //时间直接在数据库里下发时创建  
    }
    #region 云平台get数据
    ///工单信息，包括工单数据
    //工单开始时间
    //工单结束时间
    //工单完成状态
    //工序1开始时间
    //工序1结束时间
    //工序2开始时间
    //工序2结束时间
    //工序3开始时间
    //工序3结束时间


    public class _云平台get_工单Data
    {
        public cloudmodes _工单信息 { get; set; }
        public DateTime _工单开始时间 { get; set; }
        public DateTime _工单结束时间 { get; set; }
        public string _工单完成状态 { get; set; }
        public DateTime _工序1开始时间 { get; set; }
        public DateTime _工序1结束时间 { get; set; }
        public DateTime _工序2开始时间 { get; set; }
        public DateTime _工序2结束时间 { get; set; }
        public DateTime _工序3开始时间 { get; set; }
        public DateTime _工序3结束时间 { get; set; }
    }
    //    质检岛状态数据
    //    设备状态    int
    //质检通过    结构体
    //基材仓物品数量 int
    //剩余U盘数量  int
    //成品仓物品数量 int
    //相机1运行状态 string
    //相机2运行状态 string
    //相机3运行状态 string
    //相机1定位完成 bool
    //相机2定位完成 bool
    //相机2定位完成 bool
    //计算定位偏移量 不给
    //机械臂1运行状态    string
    //机械臂2运行状态    string
    //机械臂末端执行器当前位置    结构体
    //机械臂1请求定位    bool
    //机械臂2请求定位    bool
    //机械臂取料完成 bool
    //机械臂放料完成 bool
    //当前装配状态  结构体
    //故障反馈    结构体
    //模式状态    int
    //满仓信号    bool
    public class _云平台get_质检岛状态Data
    {
        public DeviceRunStatus _设备状态 { get; set; }
        public QualityInspectionResult _质检通过 { get; set; }
        public int _基材仓物品数量 { get; set; }
        public int _剩余U盘数量 { get; set; }
        public int _成品仓物品数量 { get; set; }
        public string _相机1运行状态 { get; set; }
        public string _相机2运行状态 { get; set; }
        public string _相机3运行状态 { get; set; }
        public bool _相机1定位完成 { get; set; }
        public bool _相机2定位完成 { get; set; }
        public bool _相机3定位完成 { get; set; }
        public string _机械臂1运行状态 { get; set; }
        public string _机械臂2运行状态 { get; set; }
        public RobotEndPose _机械臂末端执行器当前位置 { get; set; }
        public bool _机械臂1请求定位 { get; set; }
        public bool _机械臂2请求定位 { get; set; }
        public bool _机械臂取料完成 { get; set; }
        public bool _机械臂放料完成 { get; set; }
        public CurrentProcessInfo _当前装配状态 { get; set; }
        public ErrorInfo _故障反馈 { get; set; }
        public SystemMode _模式状态 { get; set; }
        public bool _满仓信号 { get; set; }
    }

//    装配岛状态数据
//设备状态
//零件已装配数量
//仓库零件1数量
//仓库零件2数量
//仓库零件3数量
//仓库零件4数量
//仓库基板数量
//成品仓物品数量
//相机1运行状态
//相机2运行状态
//相机3运行状态
//定位偏移量
//机械臂1运行状态
//机械臂2运行状态
//机械臂末端执行器当前位置
//机械臂1请求定位
//机械臂2请求定位
//机械臂取料完成
//机械臂放料完成
//当前装配状态
//故障反馈
//模式状态

public class _云平台get_装配岛状态Data
    {
        public DeviceRunStatus _设备状态 { get; set; }
        public int _零件已装配数量 { get; set; }
        public int _仓库零件1数量 { get; set; }
        public int _仓库零件2数量 { get; set; }
        public int _仓库零件3数量 { get; set; }
        public int _仓库零件4数量 { get; set; }
        public int _仓库基板数量 { get; set; }
        public int _成品仓物品数量 { get; set; }
        public string _相机1运行状态 { get; set; }
        public string _相机2运行状态 { get; set; }
        public string _相机3运行状态 { get; set; }
        public PositionOffset _定位偏移量 { get; set; }
        public string _机械臂1运行状态 { get; set; }
        public string _机械臂2运行状态 { get; set; }
        public RobotEndPose _机械臂末端执行器当前位置 { get; set; }
        public bool _机械臂1请求定位 { get; set; }
        public bool _机械臂2请求定位 { get; set; }
        public bool _机械臂取料完成 { get; set; }
        public bool _机械臂放料完成 { get; set; }
        public CurrentProcessInfo _当前装配状态 { get; set; }
        public ErrorInfo _故障反馈 { get; set; }
        public SystemMode _模式状态 { get; set; }
    }



    //搬运机器人状态数据
    //    设备状态

    //    设备当前位置
    //    设备当前工序步

    //    当前工序状态
    //    故障反馈

    //    模式状态
    public class _云平台get_搬运机器人状态Data
    {
        public DeviceRunStatus _设备状态 { get; set; }
        public MobileRobotPose _设备当前位置 { get; set; }
        public int _设备当前工序步 { get; set; }
        public CurrentProcessInfo _当前工序状态 { get; set; }
        public ErrorInfo _故障反馈 { get; set; }
        public SystemMode _模式状态 { get; set; }
    }



    //巡检机器人状态数据
    //巡检机器人状态数据
    //设备状态    int
    //检修开始时间  datatime
    //检修结束时间  datetime
    //故障设备    string
    //故障设备位置  预留
    //故障类型描述  string
    //异常指标    预留
    //建议修复方案  string
    //是否智能修复  bool
    //是否派人修复  bool
    //进度  double
    //修复开始时间  datetime
    //修复结束时间  datetime
    //故障是否修复  bool
    //巡检机器人状态 bool
    //巡检机器人坐标 bool
    //设备故障反馈  结构体
    //模式状态    int
    public class _云平台get_巡检机器人状态Data
    {
        public DeviceRunStatus _设备状态 { get; set; }
        public DateTime _检修开始时间 { get; set; }
        public DateTime _检修结束时间 { get; set; }
        public string _故障设备 { get; set; }
        public string _故障设备位置 { get; set; }
        public string _故障类型描述 { get; set; }
        public string _建议修复方案 { get; set; }
        public bool _是否智能修复 { get; set; }
        public bool _是否派人修复 { get; set; }
        public double _进度 { get; set; }
        public DateTime _修复开始时间 { get; set; }
        public DateTime _修复结束时间 { get; set; }
        public bool _故障是否修复 { get; set; }
        public MobileRobotPose _巡检机器人坐标 { get; set; }
        public ErrorInfo _设备故障反馈 { get; set; }
        public SystemMode _模式状态 { get; set; }
    }

    #endregion


}

